package com.cw.DesignModel23.Structural.CompositePattern.Composite1;

public class Main {
    public static void main(String[] args) {
        // 认为 书籍 和 目录 都是 CatalogComponent 类型的
        CatalogComponent storyBook = new Book("故事书", 2.0);
        CatalogComponent novelBook = new Book("小说", 8.0);

        CatalogComponent mathBook = new Book("数学书", 7.0);
        CatalogComponent englishBook = new Book("英语书", 3.0);

        CatalogComponent schoolBooks = new Catalogue("学校课本", 2);
        schoolBooks.add(mathBook);
        schoolBooks.add(englishBook);

        // 主目录 , 包含上述所有内容 , 2 本书 和 1 个目录
        CatalogComponent main = new Catalogue("所有书籍", 1);
        main.add(storyBook);
        main.add(novelBook);
        main.add(schoolBooks);

        // 打印主目录
        main.printf();
    }
}

